/// <summary>
/// A structure for defining information about this module.
/// </summary>
struct ModuleInfo
{
public:
	/// <summary>
	/// Constructor for module info, which fills in all information that the module can use.
	/// </summary>
	/// <param name="name">The full display name of this module.</param>
	/// <param name="friendlyName">Friendly name of this module. Must be all lowercase letters only. This is used for hard dependency links..</param>
	/// <param name="version">The version of this module, for display/update purposes.</param>
	/// <param name="author">The author of this module.</param>
	/// <param name="dependencies">Hard dependencies of this module.
	/// This is a semi-colon separated list of friendly module names.
	/// You only need to use this if you wish to inherit from a shared class from another module which may or may not be there.
	/// Example: <example>"requiredmodule;alsorequiredmodule"</example></param>
	ModuleInfo(const string &name, const string &friendlyName, const string &version, const string &author, const string &dependencies);
}